1. Field of the Invention.
The present invention relates generally to systems and methods for rendering graphic images on a display device. In particular, the present invention relates to a system and a method for performing ordered dithering in a graphic system using an over sampling buffer.
2. Description of the Background Art.
With the development and proliferation of computers of increasing performance, computers are now being used for a variety of graphical operations. It is typical for current personal computer systems to include a graphics accelerator or graphics card that is used by the personal computer system in rendering graphic images on the display device. While displays were once limited to ASCII text, graphic images including real time video are now computationally practical.
Current images are represented as a screen or rectangle of pixels 680 pixels by 480 pixels, 800 pixels by 600 pixels, or larger. In order to represent images realistically, each pixel must be represented by 24 bits of true color. Thus, the storage of a full screen image requires over 900K bytes (680.times.480.times.24 bits) of storage space. However, the cost for providing storage and processing of 24 bits of true color pixels makes full screen color graphics prohibitively expensive. Furthermore, the performance degradation because of limited memory bandwidth is also a problem. Therefore, there is a need to reduce the memory and processing costs of providing 24 bits per pixel for true colors.
The prior art has attempted to solve this problem by reducing the number of bits used to represent each pixel. Such attempts use 16-bits per pixel for color images. This compresses the size and required process for a full screen image by about a third to 600K bytes (680.times.480.times.16 bits). However, this approach has several disadvantages. First, the use of only 16 bits per pixel creates color-banding artifacts when color gradients are present. Second, colors produced with only 16 bits do not allow for the generation of the full range of intensities due to the loss of precision since fewer bits are available for each color channel.
In order to remove the problems identified above including the significant visual artifacts created through the use of 16-bit color, one solution has been to use 16-bit color in conjunction with an over sampling buffer. An over sampling buffer operates to receive the 16-bit color data from the graphics controller or frame buffer, and for computational purposes generates sub-samples of the 16-bit color data for each pixel. One conventional method represents each pixel in memory with a data word and translates to and from eight sub-samples, each sample having the same size as the data word, eight sub-samples per pixel used in the over sampling buffer. For example, an eight times over sampling buffer can make 16-bit color nearly the same as 24-bit color in quality.
However, when such an approach using over sampling is undertaken, other operations on the pixel data such as dithering do not provided the desired outcome. Dithering is typically performed on images to enhance their quality and reduce banding effects. However, when an over sampling buffer is also used, the conventional dithering method, processes and algorithms do not produce the desired effect. Using the conventional dither method with an over sampling buffer introduces additional artifacts in the image. Therefore, there is a need for a system and methods for performing dithering that is effective when used with an over sampling buffer.
Therefore, there is a need for a system and method that reduces the computational and memory requirements for providing a high quality true color image, and for a system for performing dithering that is compatible with use of an over sampling buffer.